from celery import Celery

#导入django环境,#加载django环境，
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE","studentSystemt.settings.dev")
#studentSystemt.settings.dev 项目的配置文件所在位置
django.setup()

broker = 'redis://192.168.137.10/15'#broker任务队列
backend = 'redis://192.168.137.10/14'#结构存储，执行完的结果存在这里
app = Celery(__name__,broker=broker,backend=backend,include=['celery_task.emailtask','celery_task.task2'])



#

#定时任务，写到这里
#时区设置成东八区
app.conf.timezone='Asia/Shanghai'
#禁用格林威治时区
app.conf.enable_utc=False
#任务定时配置
from datetime import timedelta
from celery.schedules import crontab
app.conf.beat_schedule = {
    'low-task1':{
        #指定要执行的任务
        'task':'celery_task.task2.mutile',
        #每10秒执行一次
        # 'schedule':timedelta(seconds=3),
        #每周日的7：30执行
        'schedule':crontab(hour=17,minute=30,day_of_week=6),
        'args':(10,1) ,#任务需要传递的参数
    },
    'low-task2': {
        # 指定要执行的任务
        'task': 'celery_task.emailtask.school_messege',
        # 每10秒执行一次
        'schedule':timedelta(seconds=4),
        # 每周一的7：30执行
        # 'schedule': crontab(hour=16, minute=31, day_of_week=6),
        # 'args': (),  # 任务需要传递的参数
    }
}

#配置定时任务后，需要启动beat ，这个beat就是代替我们去手动点击运行，到时间就点击运行，执行定时任务
#另起terminal，切换到celery_task的上级目录执行：   celery -A celery_task beat -l INFO -P eventlet